package com.cjh.handler;

import com.cjh.exception.ResultException;
import com.cjh.utils.ResultJson;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.core.AuthenticationException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局异常处理器
 *
 */
@RestControllerAdvice
@Slf4j
public class ResultExceptionHandler {

	/**
	 * 处理自定义返回异常
	 * @param e
	 * @return
	 */
	@ExceptionHandler(ResultException.class)
	public ResultJson handleRRException(ResultException e){

		return ResultJson.fail(e.getCode(),e.getMsg());
	}

//	/**
//	 * 处理数据库主键存在异常
//	 * @param e
//	 * @return
//	 */
//	@ExceptionHandler(DuplicateKeyException.class)
//	public ResultAjax handleDuplicateKeyException(DuplicateKeyException e){
//
//		log.error(e.getMessage(), e);
//		return ResultAjax.fail(100,"数据库中已存在该记录");
//	}

//	/**
//	 * 处理所有异常
//	 * @param e
//	 * @return
//	 */
//	@ExceptionHandler(Exception.class)
//	public ResultJson handleException(Exception e){
//
//		log.error(e.getMessage(), e);
//		return ResultJson.fail(500,"服务器异常,请联系管理员");
//	}
}